<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<meta name="generator" content="JsDoc Toolkit" />
		
		<title>JsDoc Reference - $.dom.KeyboardEvent</title>

		<style type="text/css">
			/* default.css */
body
{
	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
	width: 800px;
}

.header
{
	clear: both;
	background-color: #ccc;
	padding: 8px;
}

h1
{
	font-size: 150%;
	font-weight: bold;
	padding: 0;
	margin: 1em 0 0 .3em;
}

hr
{
	border: none 0;
	border-top: 1px solid #7F8FB1;
	height: 1px;
}

pre.code
{
	display: block;
	padding: 8px;
	border: 1px dashed #ccc;
}

#index
{
	margin-top: 24px;
	float: left;
	width: 160px;
	position: absolute;
	left: 8px;
	background-color: #F3F3F3;
	padding: 8px;
}

#content
{
	margin-left: 190px;
	width: 600px;
}

.classList
{
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 8px;
	font-family: arial, sans-serif;
	font-size: 1em;
	overflow: auto;
}

.classList li
{
	padding: 0;
	margin: 0 0 8px 0;
}

.summaryTable { width: 100%; }

h1.classTitle
{
	font-size:170%;
	line-height:130%;
}

h2 { font-size: 110%; }
caption, div.sectionTitle
{
	background-color: #7F8FB1;
	color: #fff;
	font-size:130%;
	text-align: left;
	padding: 2px 6px 2px 6px;
	border: 1px #7F8FB1 solid;
}

div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }

.summaryTable td
{
	vertical-align: top;
	padding: 4px;
	border-bottom: 1px #7F8FB1 solid;
	border-right: 1px #7F8FB1 solid;
}

/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
	border-left: 1px #7F8FB1 solid;
	width: 140px;
	text-align: right;
}

td.attributes, .fixedFont
{
	line-height: 15px;
	color: #002EBE;
	font-family: "Courier New",Courier,monospace;
	font-size: 13px;
}

.summaryTable td.nameDescription
{
	text-align: left;
	font-size: 13px;
	line-height: 15px;
}

.summaryTable td.nameDescription, .description
{
	line-height: 15px;
	padding: 4px;
	padding-left: 4px;
}

.summaryTable { margin-bottom: 8px; }

ul.inheritsList
{
	list-style: square;
	margin-left: 20px;
	padding-left: 0;
}

.detailList {
	margin-left: 20px; 
	line-height: 15px;
}
.detailList dt { margin-left: 20px; }

.detailList .heading
{
	font-weight: bold;
	padding-bottom: 6px;
	margin-left: 0;
}

.light, td.attributes, .light a:link, .light a:visited
{
	color: #777;
	font-style: italic;
}

.fineprint
{
	text-align: right;
	font-size: 10px;
}
		</style>
	</head>

	<body>
<!-- ============================== header ================================= -->	
		<!-- begin static/header.html -->
		<div id="header">
</div>
		<!-- end static/header.html -->

<!-- ============================== classes index ============================ -->
		<div id="index">
			<!-- begin publish.classesIndex -->
			<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
	
	<li><a href="../symbols/%24.html">$</a></li>
	
	<li><a href="../symbols/%24.browser.html">$.browser</a></li>
	
	<li><a href="../symbols/%24.dom.html">$.dom</a></li>
	
	<li><a href="../symbols/%24.dom.DOMTokenList.html">$.dom.DOMTokenList</a></li>
	
	<li><a href="../symbols/%24.dom.Element.html">$.dom.Element</a></li>
	
	<li><a href="../symbols/%24.dom.HTMLElement.html">$.dom.HTMLElement</a></li>
	
	<li><a href="../symbols/%24.dom.KeyboardEvent.html">$.dom.KeyboardEvent</a></li>
	
	<li><a href="../symbols/%24.dom.KeyboardEventListener.html">$.dom.KeyboardEventListener</a></li>
	
	<li><a href="../symbols/%24.dom.keyCodes.html">$.dom.keyCodes</a></li>
	
	<li><a href="../symbols/%24.dom.keyCodes_fixes.html">$.dom.keyCodes_fixes</a></li>
	
	<li><a href="../symbols/%24.dom.keyCodes_Safari2.html">$.dom.keyCodes_Safari2</a></li>
	
	<li><a href="../symbols/%24.dom.keyNames.html">$.dom.keyNames</a></li>
	
	<li><a href="../symbols/%24.dom.Node.html">$.dom.Node</a></li>
	
	<li><a href="../symbols/%24.dom.NodeList.html">$.dom.NodeList</a></li>
	
	<li><a href="../symbols/%24.js.html">$.js</a></li>
	
	<li><a href="../symbols/%24.js.Array.html">$.js.Array</a></li>
	
	<li><a href="../symbols/%24.js.Object.html">$.js.Object</a></li>
	
	<li><a href="../symbols/%24.js.String.html">$.js.String</a></li>
	
	<li><a href="../symbols/%24.profiler.html">$.profiler</a></li>
	
	<li><i><a href="../symbols/_global_.html">_global_</a></i></li>
	
</ul>
<hr />
			<!-- end publish.classesIndex -->
		</div>
		
		<div id="content">
<!-- ============================== class title ============================ -->
			<h1 class="classTitle">
				
				Namespace $.dom.KeyboardEvent
			</h1>

<!-- ============================== class summary ========================== -->			
			<p class="description">
				
			
				Holds a DOM Keyboard Event method which provides a simple way to 
determine the key the user pressed.
				
				
					<br /><i>Defined in: </i> <a href="../symbols/src/src_core-dom.js.html">core-dom.js</a>.
				
			</p>

<!-- ============================== constructor summary ==================== -->			
			
			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class $.dom.KeyboardEvent.">
				<caption>Namespace Summary</caption>
				<thead>
					<tr>
						<th scope="col">Constructor Attributes</th>
						<th scope="col">Constructor Name and Description</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td class="attributes">&nbsp;</td>
						<td class="nameDescription" >
							<div class="fixedFont">
								<b><a href="../symbols/%24.dom.KeyboardEvent.html">$.dom.KeyboardEvent</a></b>
							</div>
							<div class="description">Holds a DOM Keyboard Event method which provides a simple way to determine 
the key the user pressed.</div>
						</td>
					</tr>
				</tbody>
			</table>
			

<!-- ============================== properties summary ===================== -->
			

<!-- ============================== methods summary ======================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class $.dom.KeyboardEvent.">
					<caption>Method Summary</caption>
					<thead>
						<tr>
							<th scope="col">Method Attributes</th>
							<th scope="col">Method Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">$.dom.KeyboardEvent.<b><a href="../symbols/%24.dom.KeyboardEvent.html#.getKey">getKey</a></b>()
								</div>
								<div class="description">This method returns the character / key identifier for the current keyboard 
event.</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			
<!-- ============================== events summary ======================== -->
			

<!-- ============================== constructor details ==================== -->		
			
			<div class="details"><a name="constructor"> </a>
				<div class="sectionTitle">
					Namespace Detail
				</div>
				
				<div class="fixedFont">
						<b>$.dom.KeyboardEvent</b>
				</div>
				
				<div class="description">
					Holds a DOM Keyboard Event method which provides a simple way to determine 
the key the user pressed.

<p>By default, the global <var>KeyboardEvent.prototype</var> object is 
extended to contain the method defined in this namespace. If the 
<var>KeyboardEvent</var> object is not available in the browser, then the 
<var>Event.prototype</var> object is extended.

<p>The <code>getKey()</code> method uses the <var>this</var> object to refer 
to the current event. As such, you need to pass the correct <var>this</var> 
object.

<p>In the examples provided we will assume that the objects defined are 
already extended. Thus, code like <code><var>ev</var>.getKey()</code> can be 
written directly.

<p>For more advanced keyboard event handling needs, please check out the 
<a href="../symbols/%24.dom.KeyboardEventListener.html">$.dom.KeyboardEventListener</a> class.
					
				</div>
				
				
				
				<pre class="code"><code>var <var>klogger</var> = function (<var>ev</var>) {
  console.log(<var>ev</var>.type + ' key ' + <var>ev</var>.getKey());
};

window.addEventListener('keydown',  <var>klogger</var>, false);
window.addEventListener('keypress', <var>klogger</var>, false);
window.addEventListener('keyup',    <var>klogger</var>, false);</code></pre>
				
				
				
				
					
					
					
					
					
					
					

			</div>
			

<!-- ============================== field details ========================== -->		
			

<!-- ============================== method details ========================= -->		
			
				<div class="sectionTitle">
					Method Detail
				</div>
				
					<a name=".getKey"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">$.dom.KeyboardEvent.</span><b>getKey</b>()
					
					</div>
					<div class="description">
						This method returns the character / key identifier for the current keyboard 
event.

<p>Some of the key identifiers this method returns are listed in the <a 
href="http://www.w3.org/TR/DOM-Level-3-Events/keyset.html#KeySet-Set">DOM 
3 Events specification</a>. The notable differences are that this method 
uses names for several of the Unicode characters in that list:

<ul>
  <li>'U+0008' = 'Backspace'
  <li>'U+0009' = 'Tab'
  <li>'U+0018' = 'Cancel'
  <li>'U+001B' = 'Escape'
  <li>'U+0020' = 'Space'
  <li>'U+007F' = 'Delete'
</ul>

<p>Additionally, all Unicode characters of the form 'U+XXXX' are converted to 
the actual character. For example 'U+0053' becomes 'S'.

<p>This method is known to work in Opera, Firefox, Chrome, Safari, MSIE 
8 and Konqueror.

<p>For more advanced keyboard event handling, please check 
<a href="../symbols/%24.dom.KeyboardEventListener.html">$.dom.KeyboardEventListener</a>.
						
						
					</div>
					
					
					
					<pre class="code"><code>var <var>dialog_keydown</var> = function (<var>ev</var>) {
  var <var>key</var> = <var>ev</var>.getKey();
  if (<var>key</var> == 'F1') {
    // show help
  } else if (<var>key</var> == 'Escape') {
    // close dialog
  } else if (<var>key</var> == 'Enter') {
    // accept changes and close dialog
  }
};

window.addEventListener('keydown', <var>dialog_keydown</var>, false);</code></pre>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> The character / key identifier for the current keyboard 
event. If the key is unrecognized null is returned.</dd>
							
							</dl>
						
						
						
							<dl class="detailList">
							<dt class="heading">See:</dt>
							
								<dd><a href="../symbols/%24.dom.KeyboardEventListener.html">$.dom.KeyboardEventListener</a> The more advanced keyboard event 
compatibility layer.</dd>
							
							</dl>
						

					
				
			
			
<!-- ============================== event details ========================= -->		
			
			
			<hr />
		</div>

		
<!-- ============================== footer ================================= -->
		<div class="fineprint" style="clear:both">
			
			Documentation generated by <a href="http://www.jsdoctoolkit.org/" target="_blank">JsDoc Toolkit</a> 2.1.0 on Mon May 11 2009 19:36:21 GMT+0300 (EEST)
		</div>
	</body>
</html>
